/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package byblos.negocio.galeria;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;

/**
 *
 * @author Diego
 */
@Entity
public class FotoGaleria extends Foto implements Serializable {

    @ManyToOne
    private Galeria galeria;
    private String caminhoAltaResolucao;
    @Column(columnDefinition = "text")
    private String descricaoPortugues;
    @Column(columnDefinition = "text")
    private String descricaoAlemao;
    @Column(columnDefinition = "text")
    private String descricaoFrances;
    @Column(columnDefinition = "text")
    private String descricaoEspanhol;
    @Column(columnDefinition = "text")
    private String descricaoIngles;

    public FotoGaleria() {
    }

    public FotoGaleria(String caminho, String nomeFoto, Galeria galeria, String descricao) {
        super(caminho, nomeFoto, descricao);
        this.galeria = galeria;
    }

    public String getTipoGaleria() {
        return galeria.getClass().getSimpleName();
    }

    public String getCaminhoAltaResolucao() {
        return caminhoAltaResolucao;
    }

    public void setCaminhoAltaResolucao(String caminhoAltaResolucao) {
        this.caminhoAltaResolucao = caminhoAltaResolucao;
    }

    public void apagarAltaResolucao() {
        caminhoAltaResolucao = null;
    }

    public Galeria getGaleria() {
        return galeria;
    }

    public void setGaleria(Galeria galeria) {
        this.galeria = galeria;
    }

    public String getDescricaoAlemao() {
        return descricaoAlemao;
    }

    public void setDescricaoAlemao(String descricaoAlemao) {
        this.descricaoAlemao = descricaoAlemao;
    }

    public String getDescricaoEspanhol() {
        return descricaoEspanhol;
    }

    public void setDescricaoEspanhol(String descricaoEspanhol) {
        this.descricaoEspanhol = descricaoEspanhol;
    }

    public String getDescricaoFrances() {
        return descricaoFrances;
    }

    public void setDescricaoFrances(String descricaoFrances) {
        this.descricaoFrances = descricaoFrances;
    }

    public String getDescricaoIngles() {
        return descricaoIngles;
    }

    public void setDescricaoIngles(String descricaoIngles) {
        this.descricaoIngles = descricaoIngles;
    }

    public String getDescricaoPortugues() {
        return descricaoPortugues;
    }

    public void setDescricaoPortugues(String descricaoPortugues) {
        this.descricaoPortugues = descricaoPortugues;
    }

    public boolean isTemAltaResolucao() {
        return caminhoAltaResolucao != null && !caminhoAltaResolucao.equals("");
    }

    public String getNomeArquivoAltaResolucao() {
        String[] pedacos = caminhoAltaResolucao.split("/");
        return pedacos[pedacos.length - 1];
    }

    public String getCaminhoThumb() {
        String[] pedacosCaminho = getCaminho().split("/");
        String nome = pedacosCaminho[pedacosCaminho.length - 1];
        return "/byblos/thumb/" + nome;
    }
}
